;solution for euler 29

(defun solve-euler29 ()
	(let ((uniq (make-array 10 :fill-pointer 0 :adjustable t)) val)
		(loop for a from 2 to 100 do
			(loop for b from 2 to 100 do 
				(setf val (expt a b))
				(when (= (count val uniq) 0)
					(vector-push-extend val uniq (length uniq)))))
		(format t "Euler 29:~a" (length uniq))))